﻿using UnityEngine;

namespace GFTest
{
    [XLua.LuaCallCSharp]
    public class LuaNGUIFormElement : MonoBehaviour
    {
        [SerializeField]
        private string m_ElementName = null;

        [SerializeField]
        private int m_Index; //表示该Item的动态index

        [SerializeField]
        private GameObject[] m_GameObjects = null;

        [SerializeField]
        private Transform[] m_Transforms = null;

        [SerializeField]
        private UIPanel[] m_UIPanels = null;

        [SerializeField]
        private UISprite[] m_UISprites = null;

        [SerializeField]
        private UI2DSprite[] m_UI2DSprites = null;

        [SerializeField]
        private UILabel[] m_UILabels = null;

        [SerializeField]
        private UIButton[] m_UIButtons = null;

        [SerializeField]
        private UIToggle[] m_UIToggles = null;

        [SerializeField]
        private UITexture[] m_UITextures = null;

        [SerializeField]
        private UISlider[] m_UISliders = null;

        [SerializeField]
        private UIProgressBar[] m_UIProgressBars = null;

        [SerializeField]
        private UIGrid[] m_UIGrids = null;

        [SerializeField]
        private UITable[] m_UITables = null;

        [SerializeField]
        private UIScrollView[] m_UIScrollViews = null;

        [SerializeField]
        private UIScrollBar[] m_UIScrollBars = null;

        [SerializeField]
        private UIPopupList[] m_PopupLists = null;

        [SerializeField]
        private TweenPosition[] m_TweenPositions = null;

        [SerializeField]
        private TweenScale[] m_TweenScales = null;

        [SerializeField]
        private UIWidget[] m_UIWidgets = null;

        [SerializeField]
        private Collider[] m_Colliders = null;

        [SerializeField]
        private UIInput[] m_UIInputs = null;

        [SerializeField]
        private UI2DSpriteAnimation[] m_UI2DSpriteAnimations = null;

        [SerializeField]
        private UISpriteAnimation[] m_UISpriteAnimations = null;

        [SerializeField]
        private Shader[] m_ShaderObjects = null;

        [SerializeField]
        private LuaNGUIFormElement[] m_FormElements = null;

        public string ElementName
        {
            get
            {
                return m_ElementName;
            }
        }

        public int Index
        {
            get
            {
                return m_Index;
            }
            set
            {
                m_Index = value;
            }
        }

        public GameObject[] GameObjects
        {
            get
            {
                return m_GameObjects;
            }
        }

        public Transform[] Transforms
        {
            get
            {
                return m_Transforms;
            }
        }

        public UIPanel[] UIPanels
        {
            get
            {
                return m_UIPanels;
            }
        }

        public UILabel[] UILabels
        {
            get
            {
                return m_UILabels;
            }
        }

        public UIInput[] UIInputs
        {
            get
            {
                return m_UIInputs;
            }
        }

        public UIButton[] UIButtons
        {
            get
            {
                return m_UIButtons;
            }
        }

        public UIToggle[] UIToggles
        {
            get
            {
                return m_UIToggles;
            }
        }

        public UI2DSprite[] UI2DSprites
        {
            get
            {
                return m_UI2DSprites;
            }
        }

        public UI2DSpriteAnimation[] UI2DSpriteAnimations
        {
            get
            {
                return m_UI2DSpriteAnimations;
            }
        }

        public UISprite[] UISprites
        {
            get
            {
                return m_UISprites;
            }
        }

        public UISpriteAnimation[] UISpriteAnimations
        {
            get
            {
                return m_UISpriteAnimations;
            }
        }

        public UITexture[] UITextures
        {
            get
            {
                return m_UITextures;
            }
        }

        public UISlider[] UISliders
        {
            get
            {
                return m_UISliders;
            }
        }

        public UIProgressBar[] UIProgressBars
        {
            get
            {
                return m_UIProgressBars;
            }
        }

        public UIGrid[] UIGrids
        {
            get
            {
                return m_UIGrids;
            }
        }

        public UITable[] UITables
        {
            get
            {
                return m_UITables;
            }
        }

        public UIScrollView[] UIScrollViews
        {
            get
            {
                return m_UIScrollViews;
            }
        }

        public UIScrollBar[] UIScrollBars
        {
            get
            {
                return m_UIScrollBars;
            }
        }

        public UIPopupList[] PopupLists
        {
            get
            {
                return m_PopupLists;
            }
        }

        public TweenPosition[] TweenPositions
        {
            get
            {
                return m_TweenPositions;
            }
        }

        public TweenScale[] TweenScales
        {
            get
            {
                return m_TweenScales;
            }
        }

        public UIWidget[] UIWidgets
        {
            get
            {
                return m_UIWidgets;
            }
        }

        public Collider[] Colliders
        {
            get
            {
                return m_Colliders;
            }
        }

        public LuaNGUIFormElement[] FormElements
        {
            get
            {
                return m_FormElements;
            }
        }

        public Shader[] ShaderObjects
        {
            get
            {
                return m_ShaderObjects;
            }
        }
    }
}
